Part Number Hot Search : 
20K522 PNA3W01L MRF24J40 1004G M74HCT08 LY4630 YTD418 PEC11
Product Description
Full Text Search
 

To Download MC68LC060 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 M68060 User's Manual
Including the MC68060, MC68LC060, and MC68EC060
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters can and do vary in different applications. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.
(c) MOTOROLA, 1994
68K FAX-IT
Documentation Comments
FAX 512-891-8593--Documentation Comments Only
The Motorola High-End Technical Publications Department provides a fax number for you to submit any questions or comments about this document or how to order other documents. We welcome your suggestions for improving our documentation. Please do not fax technical questions. Please provide the part number and revision number (located in upper right-hand corner of the cover) and the title of the document. When referring to items in the manual, please reference by the page number, paragraph number, figure number, table number, and line number if needed. When sending a fax, please provide your name, company, fax number, and phone number including area code.
Applications and Technical Information
For questions or comments pertaining to technical information, questions, and applications, please contact one of the following sales offices nearest you.
MOTOROLA
M68060 USER'S MANUAL
iii
-- Sales Offices --
Field Applications Engineering Available Through All Sales Offices UNITED STATES
GERMANY, Langenhagen/ Hanover 49(511)789911 GERMANY, Munich 49 89 92103-0 GERMANY, Nuremberg 49 911 64-3044 GERMANY, Sindelfingen 49 7031 69 910 GERMANY, Wiesbaden 49 611 761921 HONG KONG, Kwai Fong 852-4808333 Tai Po 852-6668333 INDIA, Bangalore (91-812)627094 ISRAEL, Tel Aviv 972(3)753-8222 ITALY, Milan 39(2)82201 JAPAN, Aizu 81(241)272231 JAPAN, Atsugi 81(0462)23-0761 JAPAN, Kumagaya 81(0485)26-2600 JAPAN, Kyushu 81(092)771-4212 JAPAN, Mito 81(0292)26-2340 JAPAN, Nagoya 81(052)232-1621 JAPAN, Osaka 81(06)305-1801 JAPAN, Sendai 81(22)268-4333 JAPAN, Tachikawa 81(0425)23-6700 JAPAN, Tokyo 81(03)3440-3311 JAPAN, Yokohama 81(045)472-2751 KOREA, Pusan 82(51)4635-035 KOREA, Seoul 82(2)554-5188 MALAYSIA, Penang 60(4)374514 MEXICO, Mexico City 52(5)282-2864 MEXICO, Guadalajara 52(36)21-8977 Marketing 52(36)21-9023 Customer Service 52(36)669-9160 NETHERLANDS, Best (31)49988 612 11 PUERTO RICO, San Juan (809)793-2170 SINGAPORE (65)2945438 SPAIN, Madrid 34(1)457-8204 or 34(1)457-8254 SWEDEN, Solna 46(8)734-8800 SWITZERLAND, Geneva 41(22)7991111 SWITZERLAND, Zurich 41(1)730 4074 TAlWAN, Taipei 886(2)717-7089 THAILAND, Bangkok (66-2)254-4910 UNITED KINGDOM, Aylesbury 44(296)395-252 FULL LINE REPRESENTATIVES COLORADO, Grand Junction Cheryl Lee Whltely (303) 243-9658 KANSAS, Wichita Melinda Shores/Kelly Greiving (316) 838 0190 NEVADA, Reno Galena Technology Group (702) 746 0642 NEW MEXICO, Albuquerque S&S Technologies, lnc. (505) 298-7177 UTAH, Salt Lake City Utah Component Sales, Inc. (801) 561-5099 WASHINGTON, Spokane Doug Kenley (509) 924-2322 ARGENTINA, Buenos Aires Argonics, S.A. (541) 343-1787 HYBRID COMPONENTS RESELLERS Elmo Semiconductor (818) 768-7400 Minco Technology Labs Inc. (512) 834-2022 Semi Dice Inc. (310) 594-4631
ALABAMA, Huntsville ARIZONA, Tempe CALIFORNIA, Agoura Hills CALIFORNIA, Los Angeles CALIFORNIA, Irvine CALIFORNIA, Rosevllle CALIFORNIA, San Diego CALIFORNIA, Sunnyvale COLORADO, Colorado Springs COLORADO, Denver CONNECTICUT, Wallingford FLORIDA, Maitland FLORIDA, Pompano Beach/ Fort Lauderdale FLORIDA, Clearwater GEORGlA, Atlanta IDAHO, Boise ILLINOIS, Chicago/Hoffman Estates INDlANA, Fort Wayne INDIANA, Indianapolis INDIANA, Kokomo IOWA, Cedar Rapids KANSAS, Kansas City/Mission MARYLAND, Columbia MASSACHUSETTS, Marborough MASSACHUSETTS, Woburn MICHIGAN, Detroit MINNESOTA, Minnetonka MISSOURI, St. Louis NEW JERSEY, Fairfield NEW YORK, Fairport NEW YORK, Hauppauge NEW YORK, Poughkeepsie/Fishkill NORTH CAROLINA, Raleigh OHIO, Cleveland OHIO, Columbus/Worthington OHIO, Dayton OKLAHOMA, Tulsa OREGON, Portland PENNSYLVANIA, Colmar Philadelphia/Horsham TENNESSEE, Knoxville TEXAS, Austin TEXAS, Houston TEXAS, Plano VIRGINIA, Richmond WASHINGTON, Bellevue Seattle Access WISCONSIN, Milwaukee/Brookfield CANADA BRITISH COLUMBIA, Vancouver ONTARIO, Toronto ONTARIO, Ottawa QUEBEC, Montreal INTERNATIONAL AUSTRALIA, Melbourne AUSTRALIA, Sydney BRAZIL, Sao Paulo CHINA, Beijing FINLAND, Helsinki Car Phone FRANCE, Paris/Vanves
(205) 464-6800 (602) 897-5056 (818) 706-1929 (310) 417-8848 (714) 753-7360 (916) 922-7152 (619) 541-2163 (408) 749-0510 (719) 599-7497 (303) 337-3434 (203) 949-4100 (407) 628-2636 (305) 486-9776 (813) 538-7750 (404) 729-7100 (208) 323-9413 (708) 490-9500 (219) 436-5818 (317) 571-0400 (317) 457-6634 (319) 373-1328 (913) 451-8555 (410) 381-1570 (508) 481-8100 (617) 932-9700 (313) 347-6800 (612) 932-1500 (314) 275-7380 (201) 808-2400 (716) 425-4000 (516) 361-7000 (914) 473-8102 (919) 870-4355 (216) 349-3100 (614) 431-8492 (513) 495-6800 (800) 544-9496 (503) 641-3681 (215) 997-1020 (215) 957-4100 (615) 690-5593 (512) 873-2000 (800) 343-2692 (214) 516-5100 (804) 285-2100 (206) 454-4160 (206) 622-9960 (414) 792-0122 (604) 293-7605 (416) 497-8181 (613) 226-3491 (514) 731-6881 (61-3)887-0711 (61(2)906-3855 55(11)815-4200 86 505-2180 358-0-35161191 358(49)211501 33(1)40 955 900
iv
M68060 USER'S MANUAL
MOTOROLA
PREFACE
The complete documentation package for the MC68060, MC68LC060, and MC68EC060 (collectively called M68060) consists of the M68060UM/AD, M68060 User's Manual, and the M68000PM/AD, M68000 Family Programmer's Reference Manual. The M68060 User's Manual describes the capabilities, operation, and programming of the M68060 superscalar 32-bit microprocessors. The M68000 Family Programmer's Reference Manual contains the complete instruction set for the M68000 family. The introduction of this manual includes general information concerning the MC68060 and summarizes the differences among the M68060 family devices. Additionally, appendices provide detailed information on how these M68060 derivatives operate differently from the MC68060. When reading this manual, disregard information concerning the floating-point unit in reference to the MC68LC060, and disregard information concerning the floating-point unit and memory management unit in reference to the MC68EC060. The organization of this manual is as follows: Section 1 Section 2 Section 3 Section 4 Section 5 Section 6 Section 7 Section 8 Section 9 Section 10 Section 11 Section 12 Section 13 Appendix A Appendix B Appendix C Appendix D Introduction Signal Description Integer Unit Memory Management Unit Caches Floating-Point Unit Bus Operation Exception Processing IEEE 1149.1 Test (JTAG) and Debug Pipe Control Modes Instruction Timings Applications Electrical and Thermal Characteristics Ordering Information and Mechanical Data MC68LC060 MC68EC060 MC68060 Software Package M68060 Instructions
MOTOROLA
M68060 USER'S MANUAL
v
MC68060 ACRONYM LIST
AGU--address generation unit ALU--arithmetic logic unit ATC--address translation cache BUSCR--bus control register CACR--cache control register CCR--condition code register CM--cache mode CPU--central processing unit DFC--destination function code DTTx--data transparent translation register DRAM--dynamic random access memory FPIAR--floating-point instruction address register FPCR--floating-point control register FPSP--floating-point software package FPSR--floating-point status register FPU--floating-point unit FP7-FP0--floating-point data registers 7-0 FSLW--fault status long word IEE--integer execute unit IFP--instruction fetch pipeline IFU--instruction fetch unit IPU--instruction pipe unit ISP--interrupt stack pointer ITTR--instruction transparent translation register IU--integer unit JTAG--Joint Test Action Group MMU--memory management unit
MOTOROLA
M68060 USER'S MANUAL
vii
MC68060 Acronym List
MMUSR--memory management unit status register M68060SP--M68060 software package NANs--not-a-numbers NOP--no operation OEP--operand execution pipeline OPU--operand pipe unit PC--program counter PCR--processor configuration register PGI--page index field PI--pointer index field PLL--phase-locked loop pOEP--primary operand execution pipeline RI--root index field SFC--source function code SNAN--signaling not-a-number sOEP--secondary operand execution pipeline SP--stack pointer SR--status register SRP--supervisor root pointer register SSP--supervisor stack pointer TAP--test access port TCR--translation control register TTL--transistor-transistor logic TTR--transparent translation register UPA--user page attribute URP--user root pointer register USP--user stack pointer VBR--vector base register VLSI--very large-scale integration
viii
M68060 USER'S MANUAL
MOTOROLA
TABLE OF CONTENTS
Section 1 Introduction 1.1 1.1.1 1.1.2 1.1.2.1 1.1.2.2 1.2 1.3 1.4 1.4.1 1.4.2 1.4.2.1 1.4.2.2 1.4.2.3 1.4.2.4 1.4.2.5 1.4.2.6 1.4.2.6.1 1.4.2.6.2 1.4.3 1.5 1.6 1.7 1.8 1.9 1.10 Differences Among M68060 Family Members.............................................. 1-3 MC68LC060................................................................................................ 1-3 MC68EC060 ............................................................................................... 1-3 Address Translation Differences .............................................................. 1-3 Instruction Differences .............................................................................. 1-3 Features........................................................................................................ 1-4 Architecture................................................................................................... 1-4 Processor Overview...................................................................................... 1-5 Functional Blocks........................................................................................ 1-5 Integer Unit ................................................................................................. 1-7 Instruction Fetch Unit................................................................................ 1-7 Integer Unit ............................................................................................... 1-8 Floating-Point Unit .................................................................................... 1-8 Memory Units ........................................................................................... 1-9 Address Translation Caches .................................................................... 1-9 Instruction and Data Caches .................................................................... 1-9 Cache Organization.............................................................................. 1-10 Cache Coherency................................................................................. 1-10 Bus Controller ........................................................................................... 1-10 Processing States ....................................................................................... 1-10 Programming Model.................................................................................... 1-11 Data Format Summary................................................................................ 1-14 Addressing Capabilities Summary .............................................................. 1-14 Instruction Set Overview ............................................................................. 1-15 Notational Conventions............................................................................... 1-21 Section 2 Signal Description 2.1 2.1.1 2.1.2 2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5
MOTOROLA
Address and Control Signals ........................................................................ 2-3 Address Bus (A31-A0) ............................................................................... 2-3 Cycle Long-Word Address (CLA) ............................................................... 2-4 Data Bus (D31-D0)....................................................................................... 2-4 Transfer Attribute Signals ............................................................................. 2-4 Transfer Cycle Type (TT1, TT0) ................................................................. 2-4 Transfer Cycle Modifier (TM2-TM0) ........................................................... 2-4 Transfer Line Number (TLN1, TLN0).......................................................... 2-5 User-Programmable Page Attributes (UPA1, UPA0).................................. 2-5 Read/Write (R/W) ....................................................................................... 2-6
M68060 USER'S MANUAL ix
Table of Contents
2.3.6 2.3.7 2.3.8 2.3.9 2.3.10 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 2.9.3 2.10 2.10.1 2.10.2 2.10.3 2.11 2.11.1 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.12 2.13 2.14
Transfer Size (SIZ1, SIZ0).......................................................................... 2-6 Bus Lock (LOCK)........................................................................................ 2-6 Bus Lock End (LOCKE).............................................................................. 2-6 Cache Inhibit Out (CIOUT) ......................................................................... 2-7 Byte Select Lines (BS3-BS0)..................................................................... 2-7 Master Transfer Control Signals ................................................................... 2-7 Transfer Start (TS)...................................................................................... 2-8 Transfer in Progress (TIP) .......................................................................... 2-8 Starting Termination Acknowledge Signal Sampling (SAS) ....................... 2-8 Slave Transfer Control Signals ..................................................................... 2-8 Transfer Acknowledge (TA)........................................................................ 2-8 Transfer Retry Acknowledge (TRA)............................................................ 2-8 Transfer Error Acknowledge (TEA) ............................................................ 2-9 Transfer Burst Inhibit (TBI) ......................................................................... 2-9 Transfer Cache Inhibit (TCI) ....................................................................... 2-9 Snoop Control (SNOOP) .............................................................................. 2-9 Arbitration Signals....................................................................................... 2-10 Bus Request (BR)..................................................................................... 2-10 Bus Grant (BG)......................................................................................... 2-10 Bus Grant Relinquish Control (BGR)........................................................ 2-10 Bus Tenure Termination (BTT)................................................................. 2-10 Bus Busy (BB) .......................................................................................... 2-11 Processor Control Signals .......................................................................... 2-11 Cache Disable (CDIS) .............................................................................. 2-11 MMU Disable (MDIS)................................................................................ 2-12 Reset In (RSTI)......................................................................................... 2-12 Reset Out (RSTO) .................................................................................... 2-12 Interrupt Control Signals ............................................................................. 2-12 Interrupt Priority Level (IPL2-IPL0) .......................................................... 2-12 Interrupt Pending Status (IPEND) ............................................................ 2-12 Autovector (AVEC) ................................................................................... 2-13 Status and Clock Signals............................................................................ 2-13 Processor Status (PST4-PST0)............................................................... 2-13 MC68060 Processor Clock (CLK) ............................................................ 2-14 Clock Enable (CLKEN) ............................................................................. 2-14 Test Signals ................................................................................................ 2-15 JTAG Enable (JTAG)................................................................................ 2-15 Test Clock (TCK) ...................................................................................... 2-15 Test Mode Select (TMS)........................................................................... 2-15 Test Data In (TDI)..................................................................................... 2-16 Test Data Out (TDO) ................................................................................ 2-16 Test Reset (TRST) ................................................................................... 2-16 Thermal Sensing Pins (THERM1, THERM0).............................................. 2-16 Power Supply Connections......................................................................... 2-16 Signal Summary ......................................................................................... 2-16
x
M68060 USER'S MANUAL
MOTOROLA
Table of Contents
Section 3 Integer Unit 3.1 3.2 3.2.1 3.2.1.1 3.2.1.2 3.2.1.3 3.2.1.4 3.2.1.5 3.2.2 3.2.2.1 3.2.2.2 3.2.2.3 3.2.2.4 3.2.2.5 Integer Unit Execution Pipelines ................................................................... 3-1 Integer Unit Register Description .................................................................. 3-2 Integer Unit User Programming Model ....................................................... 3-2 Data Registers (D7-D0) ........................................................................... 3-2 Address Registers (A6-A0) ...................................................................... 3-2 User Stack Pointer (A7) ............................................................................ 3-2 Program Counter ...................................................................................... 3-3 Condition Code Register .......................................................................... 3-3 Integer Unit Supervisor Programming Model.............................................. 3-3 Supervisor Stack Pointer .......................................................................... 3-4 Status Register ......................................................................................... 3-4 Vector Base Register................................................................................ 3-4 Alternate Function Code Registers........................................................... 3-5 Processor Configuration Register............................................................. 3-5 Section 4 Memory Management Unit 4.1 4.1.1 4.1.2 4.1.3 4.2 4.2.1 4.2.2 4.2.2.1 4.2.2.2 4.2.2.3 4.2.3 4.2.4 4.2.4.1 4.2.4.2 4.2.4.3 4.2.4.4 4.2.5 4.2.6 4.2.6.1 4.2.6.2 4.2.6.3 4.3 4.4 4.5 4.6 4.6.1 Memory Management Programming Model.................................................. 4-3 User and Supervisor Root Pointer Registers .............................................. 4-3 Translation Control Register ....................................................................... 4-4 Transparent Translation Registers ............................................................. 4-6 Logical Address Translation.......................................................................... 4-7 Translation Tables ...................................................................................... 4-7 Descriptors................................................................................................ 4-12 Table Descriptors.................................................................................... 4-12 Page Descriptors .................................................................................... 4-12 Descriptor Field Definitions..................................................................... 4-13 Translation Table Example ....................................................................... 4-15 Variations in Translation Table Structure.................................................. 4-16 Indirect Action ......................................................................................... 4-16 Table Sharing Between Tasks................................................................ 4-17 Table Paging .......................................................................................... 4-17 Dynamically Allocated Tables................................................................. 4-17 Table Search Accesses ............................................................................ 4-19 Address Translation Protection................................................................. 4-20 Supervisor and User Translation Tables ................................................ 4-21 Supervisor Only ...................................................................................... 4-22 Write Protect ........................................................................................... 4-22 Address Translation Caches....................................................................... 4-24 Transparent Translation.............................................................................. 4-27 Address Translation Summary.................................................................... 4-28 RSTI and MDIS Effect on the MMU ............................................................ 4-28 Effect of RSTI on the MMUs ..................................................................... 4-28
MOTOROLA
M68060 USER'S MANUAL
xi
Table of Contents
4.6.2 4.7 4.7.1 4.7.2 4.7.3
Effect of MDIS on Address Translation .................................................... 4-30 MMU Instructions........................................................................................ 4-30 MOVEC .................................................................................................... 4-30 PFLUSH ................................................................................................... 4-30 PLPA ........................................................................................................ 4-30 Section 5 Caches
5.1 5.2 5.3 5.4 5.4.1 5.4.1.1 5.4.1.2 5.4.2 5.4.3 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.6 5.7 5.7.1 5.7.2 5.8 5.9 5.10 5.11 5.12 5.12.1 5.12.2
Cache Operation........................................................................................... 5-1 Cache Control Register ................................................................................ 5-5 Cache Management ..................................................................................... 5-6 Caching Modes............................................................................................. 5-7 Cachable Accesses .................................................................................... 5-7 Writethrough Mode ................................................................................... 5-7 Copyback Mode ....................................................................................... 5-8 Cache-Inhibited Accesses .......................................................................... 5-8 Special Accesses ....................................................................................... 5-9 Cache Protocol ............................................................................................. 5-9 Read Miss................................................................................................... 5-9 Write Miss................................................................................................... 5-9 Read Hit...................................................................................................... 5-9 Write Hit.................................................................................................... 5-10 Cache Coherency ....................................................................................... 5-10 Memory Accesses for Cache Maintenance ................................................ 5-11 Cache Filling............................................................................................. 5-11 Cache Pushes .......................................................................................... 5-13 Push Buffer ................................................................................................. 5-13 Store Buffer................................................................................................. 5-13 Push Buffer and Store Buffer Bus Operation.............................................. 5-14 Branch Cache ............................................................................................. 5-14 Cache Operation Summary ........................................................................ 5-15 Instruction Cache...................................................................................... 5-15 Data Cache............................................................................................... 5-16 Section 6 Floating-Point Unit
6.1 6.1.1 6.1.2 6.1.2.1 6.1.2.2 6.1.3 6.1.3.1 6.1.3.2 6.1.3.3
Floating-Point User Programming Model...................................................... 6-2 Floating-Point Data Registers (FP7-FP0) .................................................. 6-3 Floating-Point Control Register (FPCR) ..................................................... 6-3 Exception Enable Byte ............................................................................. 6-3 Mode Control Byte.................................................................................... 6-3 Floating-Point Status Register (FPSR)....................................................... 6-4 Floating-Point Condition Code Byte ......................................................... 6-5 Quotient Byte............................................................................................ 6-5 Exception Status Byte .............................................................................. 6-5
xii
M68060 USER'S MANUAL
MOTOROLA
Table of Contents
6.1.3.4 6.1.4 6.2 6.3 6.3.1 6.3.2 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 6.6 6.6.1 6.6.1.1 6.6.1.2 6.6.2 6.6.2.1 6.6.2.2 6.6.3 6.6.3.1 6.6.3.2 6.6.4 6.6.4.1 6.6.4.2 6.6.5 6.6.5.1 6.6.5.2 6.6.6 6.6.6.1 6.6.6.2 6.6.7 6.6.7.1 6.6.7.2 6.7
Accrued Exception Byte ........................................................................... 6-6 Floating-Point Instruction Address Register (FPIAR) ................................. 6-7 Floating-Point Data Formats and Data Types............................................... 6-7 Computational Accuracy ............................................................................. 6-11 Intermediate Result................................................................................... 6-12 Rounding the Result ................................................................................. 6-13 Postprocessing Operation........................................................................... 6-15 Underflow, Round, and Overflow.............................................................. 6-15 Conditional Testing ................................................................................... 6-16 Floating-Point Exceptions ........................................................................... 6-19 Unimplemented Floating-Point Instructions .............................................. 6-19 Unsupported Floating-Point Data Types................................................... 6-21 Unimplemented Effective Address Exception........................................... 6-22 Floating-Point Arithmetic Exceptions .......................................................... 6-22 Branch/Set on Unordered (BSUN)............................................................ 6-24 Trap Disabled Results (FPCR BSUN Bit Cleared) ................................. 6-24 Trap Enabled Results (FPCR BSUN Bit Set) ......................................... 6-24 Signaling Not-a-Number (SNAN) .............................................................. 6-25 Trap Disabled Results (FPCR SNAN Bit Cleared) ................................. 6-25 Trap Enabled Results (FPCR SNAN Bit Set) ......................................... 6-26 Operand Error........................................................................................... 6-26 Trap Disabled Results (FPCR OPERR Bit Cleared)............................... 6-27 Trap Enabled Results (FPCR OPERR Bit Set)....................................... 6-27 Overflow.................................................................................................... 6-28 Trap Disabled Results (FPCR OVFL Bit Cleared) .................................. 6-29 Trap Enabled Results (FPCR OVFL Bit Set) .......................................... 6-29 Underflow.................................................................................................. 6-30 Trap Disabled Results (FPCR UNFL Bit Cleared) .................................. 6-31 Trap Enabled Results (FPCR UNFL Bit Set) .......................................... 6-31 Divide-by-Zero .......................................................................................... 6-32 Trap Disabled Results (FPCR DZ Bit Cleared)....................................... 6-33 Trap Enabled Results (FPCR DZ Bit Set)............................................... 6-33 Inexact Result ........................................................................................... 6-33 Trap Disabled Results (FPCR INEX1 Bit and INEX2 Bit Cleared........... 6-34 Trap Enabled Results (Either FPCR INEX1 Bit or INEX2 Bit Set).......... 6-34 Floating-Point State Frames ....................................................................... 6-35 Section 7 Bus Operation
7.1 7.2 7.3 7.4 7.5 7.6
Bus Characteristics ....................................................................................... 7-1 Full-, Half-, and Quarter-Speed Bus Operation and BCLK ........................... 7-3 Acknowledge Termination Ignore State Capability ....................................... 7-4 Bus Control Register..................................................................................... 7-4 Data Transfer Mechanism............................................................................. 7-5 Misaligned Operands .................................................................................... 7-9
MOTOROLA
M68060 USER'S MANUAL
xiii
Table of Contents
7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.7.7 7.8 7.8.1 7.8.1.1 7.8.1.2 7.8.1.3 7.8.2 7.8.2.1 7.9 7.9.1 7.9.2 7.9.3 7.10 7.11 7.11.1 7.11.2 7.11.3 7.12 7.13 7.14 7.14.1 7.14.2 7.14.3
Processor Data Transfers........................................................................... 7-12 Byte, Word, and Long-Word Read Transfer Cycles ................................. 7-12 Line Read Transfer................................................................................... 7-15 Byte, Word, and Long-Word Write Cycles................................................ 7-20 Line Write Cycles..................................................................................... 7-25 Locked Read-Modify-Write Cycles .......................................................... 7-28 Emulating CAS2 and CAS Misaligned...................................................... 7-31 Using CLA to Increment A3 and A2.......................................................... 7-32 Acknowledge Cycles................................................................................... 7-32 Interrupt Acknowledge Cycles ................................................................. 7-32 Interrupt Acknowledge Cycle (Terminated Normally) ............................. 7-35 Autovector Interrupt Acknowledge Cycle ............................................... 7-35 Spurious Interrupt Acknowledge Cycle .................................................. 7-35 Breakpoint Acknowledge Cycle ................................................................ 7-36 LPSTOP Broadcast Cycle ...................................................................... 7-38 Bus Exception Control Cycles .................................................................... 7-46 Bus Errors................................................................................................. 7-46 Retry Operation ........................................................................................ 7-48 Double Bus Fault ...................................................................................... 7-51 Bus Synchronization ................................................................................... 7-52 Bus Arbitration ............................................................................................ 7-52 MC68040-Arbitration Protocol (BB Protocol)............................................ 7-53 MC68060-Arbitration Protocol (BTT Protocol).......................................... 7-58 External Arbiter Considerations................................................................ 7-65 Bus Snooping Operation............................................................................ 7-68 Reset Operation......................................................................................... 7-71 Special Modes of Operation ....................................................................... 7-74 Acknowledge Termination Ignore State Capability................................... 7-74 Acknowledge Termination Protocol .......................................................... 7-76 Extra Data Write Hold Time Mode............................................................ 7-76 Section 8 Exception Processing
8.1 8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.2.7 8.2.8 8.2.9 8.2.10
Exception Processing Overview ................................................................... 8-1 Integer Unit Exceptions................................................................................. 8-4 Access Error Exception .............................................................................. 8-5 Address Error Exception............................................................................. 8-7 Instruction Trap Exception.......................................................................... 8-7 Illegal Instruction and Unimplemented Instruction Exceptions ................... 8-8 Privilege Violation Exception .................................................................... 8-10 Trace Exception........................................................................................ 8-10 Format Error Exception ............................................................................ 8-11 Breakpoint Instruction Exception .............................................................. 8-11 Interrupt Exception ................................................................................... 8-12 Reset Exception ....................................................................................... 8-14
xiv
M68060 USER'S MANUAL
MOTOROLA
Table of Contents
8.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.4.1 8.4.4.2 8.4.4.3 8.4.5 8.4.6 8.4.7
Exception Priorities ..................................................................................... 8-17 Return from Exceptions .............................................................................. 8-19 Four-Word Stack Frame (Format $0) ....................................................... 8-19 Six-Word Stack Frame (Format $2) .......................................................... 8-20 Floating-Point Post-Instruction Stack Frame (Format $3) ........................ 8-20 Eight-Word Stack Frame (Format $4)....................................................... 8-21 Program Counter (PC)............................................................................ 8-21 Fault Address ......................................................................................... 8-22 Fault Status Long Word (FSLW)............................................................. 8-22 Recovering from an Access Error ............................................................. 8-25 Bus Errors and Pending Memory Writes ................................................. 8-27 Branch Prediction Error ............................................................................ 8-29 Section 9 IEEE 1149.1 Test (JTAG) and Debug Pipe Control Modes
9.1 9.1.1 9.1.2 9.1.2.1 9.1.2.2 9.1.2.3 9.1.2.4 9.1.2.5 9.1.2.6 9.1.2.7 9.1.2.8 9.1.3 9.1.3.1 9.1.3.2 9.1.3.3 9.1.4 9.1.5 9.1.6 9.2 9.2.1 9.2.2 9.2.3 9.3
IEEE 1149.1 Test Access Port (Normal JTAG) Mode .................................. 9-1 Overview..................................................................................................... 9-2 JTAG Instruction Shift Register .................................................................. 9-3 EXTEST.................................................................................................... 9-4 LPSAMPLE............................................................................................... 9-5 Private Instructions ................................................................................... 9-5 SAMPLE/PRELOAD ................................................................................. 9-5 IDCODE.................................................................................................... 9-5 CLAMP ..................................................................................................... 9-6 HIGHZ....................................................................................................... 9-6 BYPASS ................................................................................................... 9-6 JTAG Test Data Registers.......................................................................... 9-7 Idcode Register ........................................................................................ 9-7 Boundary Scan Register........................................................................... 9-7 Bypass Register ..................................................................................... 9-15 Restrictions ............................................................................................... 9-15 Disabling the IEEE 1149.1 Standard Operation ....................................... 9-15 Motorola MC68060 BSDL Description...................................................... 9-17 Debug Pipe Control Mode........................................................................... 9-24 Debug Command Interface....................................................................... 9-25 Debug Pipe Control Mode Commands ..................................................... 9-27 Emulator Mode ......................................................................................... 9-31 Switching between JTAG and Debug Pipe ControlModes of Operation..... 9-33 Section 10 Instruction Execution Timing
10.1 10.1.1 10.1.2
Superscalar Operand Execution Pipelines ................................................. 10-1 Dispatch Test 1: sOEP Opword and Required Extension Words Are Valid ....................................................................... 10-2 Dispatch Test 2: Instruction Classification ................................................ 10-2
MOTOROLA
M68060 USER'S MANUAL
xv
Table of Contents
10.1.3 10.1.4 10.1.5 10.1.6 10.2 10.3 10.3.1 10.3.2 10.3.3 10.3.4 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16
Dispatch Test 3: Allowable Effective Addressing Mode in the sOEP ....... 10-8 Dispatch Test 4: Allowable Operand Data Memory Reference ................ 10-8 Dispatch Test 5: No Register Conflicts on sOEP.AGU Resources .......... 10-8 Dispatch Test 6: No Register Conflicts on sOEP.IEE Resources ............ 10-9 Timing Assumptions ................................................................................. 10-10 Cache and ATC Performance Degradation Times ................................... 10-12 Instruction ATC Miss .............................................................................. 10-12 Data ATC Miss ....................................................................................... 10-13 Instruction Cache Miss ........................................................................... 10-13 Data Cache Miss .................................................................................... 10-13 Effective Address Calculation Times ........................................................ 10-14 Move Instruction Execution Times............................................................ 10-14 Standard Instruction Execution Times ...................................................... 10-16 Immediate Instruction Execution Times.................................................... 10-17 Single-Operand Instruction Execution Times ........................................... 10-18 Shift/Rotate Execution Times ................................................................... 10-19 Bit Manipulation and Bit Field Execution Times........................................ 10-19 Branch Instruction Execution Times ......................................................... 10-21 LEA, PEA, and MOVEM Execution Times................................................ 10-22 Multiprecision Instruction Execution Times............................................... 10-22 Status Register, MOVES, and Miscellaneous Instruction Execution Times...................................................................... 10-22 FPU Instruction Execution Times ............................................................. 10-24 Exception Processing Times .................................................................... 10-26 Section 11 Applications Information
11.1 11.1.1 11.1.2 11.1.2.1 11.1.2.1.1 11.1.2.1.2 11.1.2.1.3 11.1.2.1.4 11.1.2.1.5 11.1.2.2 11.1.2.2.1 11.1.2.2.2 11.1.2.2.3 11.1.2.2.4 11.1.2.3 11.1.2.4 11.1.2.5 11.1.3
Guidelines for Porting Software to the MC68060 ....................................... 11-1 User Code ................................................................................................ 11-1 Supervisor Code....................................................................................... 11-1 Initialization Code (Reset Exception Handler) ........................................ 11-2 Processor Configuration Register (PCR) (MOVEC of PCR). ............... 11-2 Default Transparent Translation Register (MOVEC of TCR) ............... 11-2 MC68060 Software Package (M68060SP). ......................................... 11-2 Cache Control Register (CACR) (MOVEC of CACR).......................... 11-3 Resource Checking (Access Error Handler) ........................................ 11-3 Virtual Memory Software ........................................................................ 11-3 Translation Control Register (MOVEC of TCR).................................... 11-3 Descriptors in Cacheable Copyback Pages Prohibited........................ 11-4 Page and Descriptor Faults (Access Error Handler). ........................... 11-4 PTEST, MOVEC of MMUSR, and PLPA.............................................. 11-4 Context Switch Interrupt Handlers.......................................................... 11-5 Trace Handlers ....................................................................................... 11-5 I/O Device Driver Software ..................................................................... 11-5 Precise Vs. Imprecise Exception Mode .................................................... 11-6
xvi
M68060 USER'S MANUAL
MOTOROLA
Table of Contents
11.1.4 11.2 11.2.1 11.2.1.1 11.2.1.1.1 11.2.1.1.2 11.2.1.2 11.2.2 11.2.3 11.2.4 11.2.5 11.2.6 11.2.7 11.2.8 11.3 11.4 11.5
Other Considerations................................................................................ 11-6 Using an MC68060 in an Existing MC68040 System ................................. 11-6 Power Considerations............................................................................... 11-6 DC to DC Voltage Conversion ................................................................ 11-6 Linear Voltage Regulator Solution........................................................ 11-7 Switching Regulator Solution................................................................ 11-7 Input Signals During Power-Up Requirement....................................... 11-11 Output Hold Time Differences ................................................................ 11-11 Bus Arbitration ........................................................................................ 11-13 Snooping................................................................................................. 11-13 Special Modes ........................................................................................ 11-13 Clocking .................................................................................................. 11-14 PSTx Encoding ....................................................................................... 11-14 Miscellaneous Pullup Resistors .............................................................. 11-15 Example DRAM Access............................................................................ 11-15 Thermal Management.............................................................................. 11-17 Support Devices....................................................................................... 11-20 Section 12 Electrical and Thermal Characteristics
12.1 12.2 12.3 12.4 12.5 12.6 12.7
Maximum Ratings ....................................................................................... 12-1 Thermal Characteristics .............................................................................. 12-1 Power Dissipation ....................................................................................... 12-1 DC Electrical Specifications (Vcc = 3.3 Vdc 5%) ..................................... 12-2 Clock Input Specifications (Vcc = 3.3 Vdc 5%)........................................ 12-3 Output AC Timing Specifications (Vcc = 3.3 Vdc 5%) ............................. 12-4 Input AC Timing Specifications (Vcc = 3.3 Vdc 5%) ................................ 12-6 Section 13 Ordering Information and Mechanical Data
13.1 13.2 13.2.1 13.2.2 13.3
Ordering Information ................................................................................... 13-1 Pin Assignments ......................................................................................... 13-1 MC68060, MC68LC060, and MC68EC060 Pin Grid Array (RC Suffix) .... 13-2 MC68060, MC68LC060, and MC68EC060 Quad Flat Pack (FE Suffix)... 13-3 Mechanical Data ......................................................................................... 13-4 Appendix A MC68LC060 Appendix B MC68EC060
B.1 B.2
Address Translation Differences...................................................................B-1 Instruction Differences ..................................................................................B-1
MOTOROLA
M68060 USER'S MANUAL
xvii
Table of Contents
Appendix C MC68060 Software Package C.1 C.2 C.2.1 C.2.2 C.2.2.1 C.2.2.2 C.2.2.3 C.2.3 C.3 C.3.1 C.3.2 C.3.2.1 C.3.2.2 C.3.2.2.1 C.3.2.2.2 C.3.2.2.3 C.3.2.2.4 C.3.2.3 C.3.2.3.1 C.3.2.3.2 C.3.2.3.3 C.3.2.3.4 C.3.2.3.5 C.3.2.4 C.3.2.4.1 C.3.2.4.2 C.3.3 C.3.4 C.4 C.4.1 C.4.2 C.5 C.5.1 C.5.2 C.5.3 C.5.4 Module Format..............................................................................................C-2 Unimplemented Integer Instructions .............................................................C-4 Integer Emulation Results ..........................................................................C-5 Module 1: Unimplemented Integer Instruction Exception (MC68060ISP)............................................................................................C-5 Unimplemented Integer Instruction Exception Module Entry Points ........C-6 Unimplemented Integer Instruction Exception Module Call-Outs .............C-6 CAS Misaligned Address and CAS2 Emulation-Related Call-Outs and Entry Points ........................................C-6 Module 2: Unimplemented Integer Instruction Library (MC68060ILSP) .....C-9 Floating-Point Emulation Package (MC68060FPSP) .................................C-11 Floating-Point Emulation Results .............................................................C-13 Module 3: Full Floating-Point Kernel ........................................................C-14 Full Floating-Point Kernel Module Entry Points ......................................C-14 Full Floating-Point Kernel Module Call-Outs ..........................................C-14 The F-Line Exception Call-Outs ...........................................................C-14 System-Supplied Floating-Point Arithmetic Exception Handler Call-Outs ................................................................C-15 Exception-Related Call-Outs ...............................................................C-15 Exit Point Call-Outs ..............................................................................C-15 Bypassing Module-Supplied Floating-Point Arithmetic Handlers ...........C-15 Overflow/Underflow ..............................................................................C-16 Signalling Not-A-Number, Operand Error.............................................C-17 Inexact Exception .................................................................................C-18 Divide-by-Zero Exception .....................................................................C-19 Branch/Set on Unordered Exception....................................................C-19 Exceptions During Emulation .................................................................C-20 Trap-Disabled Operation ......................................................................C-20 Trap-Enabled Operation.......................................................................C-21 Module 4: Partial Floating-Point Kernel ....................................................C-21 Module 5: Floating-Point Library (M68060FPLSP)...................................C-22 Operating System Dependencies ...............................................................C-23 Instruction and Data Fetches....................................................................C-23 Instructions Not Recommended ...............................................................C-26 Installation Notes ........................................................................................C-27 Installing the Library Modules...................................................................C-27 Installing the Kernel Modules ...................................................................C-27 Release Notes and Module Offset Assignments ......................................C-28 AESOP Electronic Bulletin Board .............................................................C-29 Appendix D MC68060 Instructions
xviii
M68060 USER'S MANUAL
MOTOROLA
LIST OF ILLUSTRATIONS
1-1 1-2 2-1 3-1 3-2 3-3 3-4 3-5 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 4-9 4-10 4-11 4-12 4-13 4-14 4-15 4-16 4-17 4-18 4-19 4-20 4-21 5-1 5-2 5-3 5-4 5-5 5-6 5-7 6-1 6-2 6-3 MC68060 Block Diagram ................................................................................... 1-6 Programming Model ......................................................................................... 1-12 Functional Signal Groups ................................................................................... 2-3 MC68060 Integer Unit Pipeline .......................................................................... 3-1 Integer Unit User Programming Model............................................................... 3-2 Integer Unit Supervisor Programming Model ..................................................... 3-3 Status Register................................................................................................... 3-4 Processor Configuration Register ...................................................................... 3-5 Memory Management Unit ................................................................................. 4-2 Memory Management Programming Model ....................................................... 4-3 URP and SRP Register Formats........................................................................ 4-3 Translation Control Register Format .................................................................. 4-4 Transparent Translation Register Format .......................................................... 4-6 Translation Table Structure ................................................................................ 4-8 Logical Address Format ..................................................................................... 4-8 Detailed Flowchart of Table Search Operation ................................................ 4-10 Detailed Flowchart of Descriptor Fetch Operation ........................................... 4-11 Table Descriptor Formats................................................................................. 4-12 Page Descriptor Formats ................................................................................. 4-12 Example Translation Table............................................................................... 4-15 Translation Table Using Indirect Descriptors ................................................... 4-16 Translation Table Using Shared Tables ........................................................... 4-18 Translation Table with Nonresident Tables ...................................................... 4-19 Translation Table Structure for Two Tasks ...................................................... 4-21 Logical Address Map with Shared Supervisor and User Address Spaces....... 4-22 Translation Table Using S-Bit and W-Bit To Set Protection ............................. 4-23 ATC Organization............................................................................................. 4-24 ATC Entry and Tag Fields ................................................................................ 4-25 Address Translation Flowchart......................................................................... 4-29 MC68060 Instruction and Data Caches ............................................................. 5-2 Instruction Cache Line Format ........................................................................... 5-2 Data Cache Line Format .................................................................................... 5-2 Caching Operation ............................................................................................. 5-3 Cache Control Register ...................................................................................... 5-5 Instruction Cache Line State Diagram.............................................................. 5-16 Data Cache Line State Diagrams..................................................................... 5-18 Floating-Point Unit Block Diagram ..................................................................... 6-2 Floating-Point User Programming Model ........................................................... 6-3 Floating-Point Control Register Format.............................................................. 6-4
MOTOROLA
M68060 USER'S MANUAL
xix
List of Illustrations
6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 7-1 7-2 7-3 7-4 7-5 7-6 7-7 7-8 7-9 7-10 7-11 7-12 7-13 7-14 7-15 7-16 7-17 7-18 7-19 7-20 7-21 7-22 7-23 7-24 7-25 7-26 7-27 7-28 7-29 7-30 7-31 7-32 7-33 7-34 7-35 7-36 7-37
Floating-Point Condition Code (FPSR) .............................................................. 6-5 Floating-Point Quotient Byte (FPSR) ................................................................. 6-5 Floating-Point Exception Status Byte (FPSR).................................................... 6-6 Floating-Point Accrued Exception Byte (FPSR)................................................. 6-6 Intermediate Result Format.............................................................................. 6-12 Rounding Algorithm Flowchart ......................................................................... 6-14 Floating-Point State Frame .............................................................................. 6-35 Status Word Contents ...................................................................................... 6-36 Signal Relationships to Clocks........................................................................... 7-2 Full-Speed Clock................................................................................................ 7-2 Half-Speed Clock ............................................................................................... 7-2 Quarter-Speed Clock ......................................................................................... 7-3 Bus Control Register Format.............................................................................. 7-4 Internal Operand Representation....................................................................... 7-5 Data Multiplexing................................................................................................ 7-6 Byte Select Signal Generation and PAL Equation ............................................. 7-8 Example of a Misaligned Long-Word Transfer................................................. 7-10 Example of Misaligned Word Transfer ............................................................. 7-10 Misaligned Long-Word Read Bus Cycle Timing............................................... 7-11 Byte, Word, and Long-Word Read Cycle Flowchart ........................................ 7-13 Byte, Word, and Long-Word Read Bus Cycle Timing ...................................... 7-14 Line Read Cycle Flowchart .............................................................................. 7-17 Line Read Transfer Timing............................................................................... 7-18 Burst-Inhibited Line Read Cycle Flowchart ...................................................... 7-20 Burst-Inhibited Line Read Bus Cycle Timing.................................................... 7-21 Byte, Word, and Long-Word Write Transfer Flowchart .................................... 7-22 Long-Word Write Bus Cycle Timing ................................................................. 7-23 Line Write Cycle Flowchart .............................................................................. 7-26 Line Write Burst-Inhibited Cycle Flowchart ...................................................... 7-27 Line Write Bus Cycle Timing ............................................................................ 7-28 Locked Bus Cycle for TAS Instruction Timing.................................................. 7-30 Using CLA in a High-Speed DRAM Design ..................................................... 7-33 Interrupt Pending Procedure ............................................................................ 7-33 Assertion of IPEND .......................................................................................... 7-34 Interrupt Acknowledge Cycle Flowchart........................................................... 7-36 Interrupt Acknowledge Bus Cycle Timing ........................................................ 7-37 Autovector Interrupt Acknowledge Bus Cycle Timing ...................................... 7-38 Breakpoint Interrupt Acknowledge Cycle Flowchart......................................... 7-39 Breakpoint Interrupt Acknowledge Bus Cycle Timing ...................................... 7-40 LPSTOP Broadcast Cycle Flowchart ............................................................... 7-41 LPSTOP Broadcast Bus Cycle Timing, BG Negated ....................................... 7-42 LPSTOP Broadcast Bus Cycle Timing, BG Asserted ...................................... 7-43 Exiting LPSTOP Mode Flowchart..................................................................... 7-44 Exiting LPSTOP Mode Timing Diagram........................................................... 7-45 Word Write Access Bus Cycle Terminated with TEA Timing ........................... 7-48
xx
M68060 USER'S MANUAL
MOTOROLA
List of Illustrations
7-38 7-39 7-40 7-41 7-42 7-43 7-44 7-45 7-46 7-47 7-48 7-49 7-50 7-51 7-52 8-1 8-2 8-3 8-4 8-5 8-6 9-1 9-2 9-3 9-4 9-5 9-6 9-7 9-8 9-9 9-10 9-11 9-12 9-13 11-1 11-2 11-3 11-4 11-5 11-6 11-7 11-8 11-9 11-10 11-11
Line Read Access Bus Cycle Terminated with TEA Timing............................. 7-49 Retry Read Bus Cycle Timing .......................................................................... 7-50 Line Write Retry Bus Cycle Timing................................................................... 7-51 MC68040-Arbitration Protocol State Diagram .................................................. 7-57 MC68060-Arbitration Protocol State Diagram .................................................. 7-64 Processor Bus Request Timing........................................................................ 7-67 Arbitration During Relinquish and Retry Timing ............................................... 7-68 Implicit Bus Ownership Arbitration Timing........................................................ 7-69 Effect of BGR on Locked Sequences............................................................... 7-70 Snooped Bus Cycle.......................................................................................... 7-71 Initial Power-On Reset Timing.......................................................................... 7-72 Normal Reset Timing........................................................................................ 7-73 Data Bus Usage During Reset ......................................................................... 7-74 Acknowledge Termination Ignore State Example ............................................ 7-75 Extra Data Write Hold Example........................................................................ 7-77 General Exception Processing Flowchart .......................................................... 8-2 General Form of Exception Stack Frame ........................................................... 8-3 Interrupt Recognition Examples ....................................................................... 8-13 Interrupt Exception Processing Flowchart........................................................ 8-15 Reset Exception Processing Flowchart............................................................ 8-16 Fault Status Long-Word Format ....................................................................... 8-22 JTAG Test Logic Block Diagram ........................................................................ 9-3 JTAG Idcode Register Format............................................................................ 9-7 Output Pin Cell (O.Pin)....................................................................................... 9-8 Observe-Only Input Pin Cell (I.Obs)................................................................... 9-8 Input Pin Cell (I.Pin) ........................................................................................... 9-9 Output Control Cell (IO.Ctl) ................................................................................ 9-9 General Arrangement of Bidirectional Pin Cells ............................................... 9-10 JTAG Bypass Register ..................................................................................... 9-15 Circuit Disabling IEEE Standard 1149.1........................................................... 9-16 Debug Command Interface Schematic ............................................................ 9-25 Interface Timing................................................................................................ 9-26 Transition from JTAG to Debug Mode Timing Diagram ................................... 9-34 Transition from Debug to JTAG Mode Timing Diagram ................................... 9-35 Linear Voltage Regulator Solution.................................................................... 11-7 LTC1147 Voltage Regulator Solution............................................................... 11-8 LTC1148 Voltage Regulator Solution............................................................... 11-9 MAX767 Voltage Regulator Solution.............................................................. 11-10 MC68040 Address Hold Time ........................................................................ 11-11 MC68060 Address Hold Time ........................................................................ 11-12 MC68060 Address Hold Time Fix .................................................................. 11-12 Simple CLK Generation.................................................................................. 11-14 Generic CLK Generation ................................................................................ 11-14 MC68040 BCLK to CLKEN Relationship........................................................ 11-15 DRAM Timing Analysis................................................................................... 11-15
MOTOROLA
M68060 USER'S MANUAL
xxi
List of Illustrations
12-12 12-13 12-14 12-15 12-16 12-17 12-18 12-19 12-20 13-1 13-2 C-1 C-2 C-3 C-4 C-5 C-6 C-7 C-8 C-9 C-10 C-11 C-12
Clock Input Timing Diagram............................................................................. 12-3 Drive Levels and Test Points for AC Specifications ......................................... 12-7 Reset Configuration Timing.............................................................................. 12-8 Read/Write Timing ........................................................................................... 12-9 Bus Arbitration Timing.................................................................................... 12-10 Bus Arbitration Timing (Continued) ................................................................ 12-11 CLA Timing .................................................................................................... 12-12 Snoop Timing ................................................................................................. 12-13 Other Signals Timing...................................................................................... 12-14 PGA Package Dimensions (RC Suffix) ............................................................ 13-4 QFP Package Dimensions (FE Suffix) ............................................................. 13-5 Call-Out Dispatch Table Example ......................................................................C-2 Example Pseudo-Assembly File ........................................................................C-3 Module Call-In, Call-Out Example......................................................................C-4 CAS and CAS2 Call-Outs and Entry Points .......................................................C-9 C-Code Representation of Integer Library Routines ........................................C-10 MUL Instruction Call Example..........................................................................C-11 CMP2 Instruction Call Example .......................................................................C-11 SNAN/OPERR Exception Handler Pseudo-Code ............................................C-18 Disabled vs. Enabled Exception Actions..........................................................C-20 _mem_read Pseudo-Code ...............................................................................C-23 Register Usage of {i,d}mem_{read,write}_{b,w,l} .............................................C-25 Vector Table and M68060SP Relationship ......................................................C-28
xxii
M68060 USER'S MANUAL
MOTOROLA
LIST OF TABLES
1-1 1-2 1-3 1-4 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 4-1 4-2 5-1 5-2 5-3 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-14 6-15 6-16 7-1 7-2 7-3 7-4 7-5 7-6 Data Formats.................................................................................................... 1-14 Effective Addressing Modes............................................................................. 1-15 Instruction Set Summary .................................................................................. 1-16 Notational Conventions .................................................................................... 1-21 Signal Index........................................................................................................ 2-1 Transfer-Type Encoding..................................................................................... 2-4 Normal and MOVE16 Access TMx Encoding..................................................... 2-5 Alternate Access TMx Encoding ........................................................................ 2-5 SIZx Encoding .................................................................................................... 2-6 Data Bus Byte Select Signals............................................................................. 2-7 PSTx Encoding................................................................................................. 2-14 Signal Summary ............................................................................................... 2-17 Updating U-Bit and M-Bit for Page Descriptors................................................ 4-20 SFC and DFC Values....................................................................................... 4-20 TLNx Encoding................................................................................................. 5-11 Instruction Cache Line State Transitions.......................................................... 5-15 Data Cache Line State Transitions................................................................... 5-18 RND Encoding.................................................................................................... 6-4 PREC Encoding ................................................................................................. 6-4 MC68060 FPU Data Formats and Data Types .................................................. 6-7 Single-Precision Real Format Summary ............................................................ 6-8 Double-Precision Real Format Summary........................................................... 6-9 Extended-Precision Real Format Summary ..................................................... 6-10 Packed Decimal Real Format Summary .......................................................... 6-11 Floating-Point Condition Code Encoding ......................................................... 6-16 Floating-Point Conditional Tests ...................................................................... 6-18 Floating-Point Exception Vectors ..................................................................... 6-19 Unimplemented Instructions............................................................................. 6-20 Possible Operand Errors Exceptions ............................................................... 6-27 Overflow Rounding Mode Values..................................................................... 6-29 Underflow Rounding Mode Values................................................................... 6-31 Possible Divide-by-Zero Exceptions................................................................. 6-33 Rounding Mode Values .................................................................................... 6-34 Data Bus Requirements for Read and Write Cycles .......................................... 7-7 Summary of Access Types vs. Bus Signal Encoding......................................... 7-9 Memory Alignment Influence on Noncachable and Writethrough Bus Cycles.................................................................................. 7-12 Interrupt Acknowledge Termination Summary ................................................. 7-34 Termination Result Summary........................................................................... 7-46 MC68040-Arbitration Protocol Transition Conditions ....................................... 7-55
MOTOROLA
M68060 USER'S MANUAL
xxiii
List of Tables
7-7 7-8 7-9 7-10 8-1 8-2 8-3 9-1 9-2 9-3 9-4 9-5 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 10-12 10-13 10-14 10-15 10-16 10-17 10-18 10-19 10-20 10-21 10-22 10-23 10-24 10-25 10-26 11-1 11-2 11-3 11-4 C-1 C-2 C-3
MC68040-Arbitration Protocol State Description ............................................. 7-56 MC68060-Arbitration Protocol State Transition Conditions.............................. 7-62 MC68060-Arbitration Protocol State Description ............................................. 7-63 Special Mode vs. IPLx Signals......................................................................... 7-74 Exception Vector Assignments .......................................................................... 8-4 Interrupt Levels and Mask Values.................................................................... 8-12 Exception Priority Groups ................................................................................ 8-17 JTAG States....................................................................................................... 9-2 JTAG Instructions............................................................................................... 9-4 Boundary Scan Bit Definitions.......................................................................... 9-10 Debug Command Interface Pins ...................................................................... 9-25 Command Summary ........................................................................................ 9-28 Superscalar OEP Dispatch Test Algorithm ...................................................... 10-4 MC68060 Superscalar Classification of M680x0 Integer Instructions.............. 10-4 Superscalar Classification of M680x0 Privileged Instructions.......................... 10-7 Superscalar Classification of M680x0 Floating-Point Instructions ................... 10-7 Effective Address Calculation Times.............................................................. 10-14 Move Byte and Word Execution Times .......................................................... 10-15 Move Long Execution Times.......................................................................... 10-15 MOVE16 Execution Times ............................................................................. 10-15 Standard Instruction Execution Time ............................................................. 10-16 Immediate Instruction Execution Times ......................................................... 10-17 Single-Operand Instruction Execution Times................................................. 10-18 Clear (CLR) Execution Times ........................................................................ 10-18 Shift/Rotate Execution Times......................................................................... 10-19 Bit Manipulation (Dynamic Bit Count) Execution Times................................. 10-19 Bit Manipulation (Static Bit Count) Execution Times...................................... 10-20 Bit Field Execution Times............................................................................... 10-20 Branch Execution Times ................................................................................ 10-21 JMP, JSR Execution Times............................................................................ 10-21 Return Instruction Execution Times ............................................................... 10-21 LEA, PEA, and MOVEM Instruction Execution Times ................................... 10-22 Multiprecision Instruction Execution Times .................................................... 10-22 Status Register (SR) Instruction Execution Times ......................................... 10-23 MOVES Execution Times............................................................................... 10-23 Miscellaneous Instruction Execution Times ................................................... 10-23 Floating-Point Instruction Execution Times.................................................... 10-24 Exception Processing Times.......................................................................... 10-26 With Heat Sink, No Air Flow........................................................................... 11-18 With Heat Sink, with Air Flow ......................................................................... 11-18 No Heat Sink .................................................................................................. 11-19 Support Devices and Products....................................................................... 11-20 Call-Out Dispatch Table and Module Size .........................................................C-4 FPU Comparison..............................................................................................C-12 Unimplemented Instructions.............................................................................C-13
xxiv
M68060 USER'S MANUAL
MOTOROLA
List of Tables
C-4 C-5 C-6 C-7 D-1 D-2 D-3
Unimplemented Data Formats and Data Types .............................................. C-13 UNIX Operating System Calls ......................................................................... C-23 Instructions Not Handled by the M68060SP ................................................... C-26 Files Provided in an M68060SP Release........................................................ C-27 M68000 Family Instruction Set and Processor Cross-Reference ..................... D-1 M68000 Family Instruction Set.......................................................................... D-6 Exception Vector Assignments for the M68000 Family................................... D-10
MOTOROLA
M68060 USER'S MANUAL
xxv
List of Tables
xxvi
M68060 USER'S MANUAL
MOTOROLA
SECTION 1 INTRODUCTION
The superscalar MC68060 represents a new line of Motorola microprocessor products. The first generation of the M68060 product line consists of the MC68060, MC68LC060, and MC68EC060. All three microprocessors offer superscalar integer performance of over 100 MIPS at 66 MHz. The MC68060 comes fully equipped with both a floating-point unit (FPU) and a memory management unit (MMU) for high-performance embedded control and desktop applications. For cost-sensitive embedded control and desktop applications where an MMU is required, but the additional cost of a FPU is not justified, the MC68LC060 offers high-performance at a low cost. Specifically designed for low-cost embedded control applications, the MC68EC060 eliminates both the FPU and MMU, permitting designers to leverage MC68060 performance while avoiding the cost of unnecessary features. Throughout this product brief, all references to the MC68060 also refer to the MC68LC060 and the MC68EC060, unless otherwise noted. Leveraging many of the same performance enhancements used by RISC designs as well as providing innovative architectural techniques, the MC68060 harnesses new levels of performance for the M68000 family. Incorporating 2.5 million transistors on a single piece of silicon, the MC68060 employs a deep pipeline, dual issue superscalar execution, a branch cache, a high-performance floating-point unit (MC68060 only), eight Kbytes each of on-chip instruction and data caches, and dual on-chip demand paging MMUs (MC68060 and MC68LC060 only). The MC68060 allows simultaneous execution of two integer instructions (or an integer and a float instruction) and one branch instruction during each clock. The MC68060 features a full internal Harvard architecture. The instruction and data caches are designed to support concurrent instruction fetch, operand read and operand write references on every clock. Separate 8-Kbyte instruction and 8-Kbyte data caches can be frozen to prevent allocation over time-critical code or data. The independent nature of the caches allows instruction stream fetches, data-stream fetches, and external accesses to occur simultaneously with instruction execution. The operand data cache is four-way banked to permit simultaneous read and write access each clock. A very high bandwidth internal memory system coupled with the compact nature of the M68000 family code allows the MC68060 to achieve extremely high levels of performance, even when operating from low-cost memory such as a 32-bit wide dynamic random access memory system. Instructions are fetched from the internal cache or external memory by a four-stage instruction fetch pipeline. The MC68060 variable-length instruction system is internally decoded into a fixed-length representation and channeled into an instruction buffer. The instruction buffer acts as a FIFO which provides a decoupling mechanism between the instruction fetch
MOTOROLA
M68060 USER'S MANUAL
1-1
Introduction
unit and the operand execution units. Fixed format instructions are dispatched to dual fourstage pipelined RISC operand execution engines where they are then executed. The branch cache also plays a major role in achieving the high performance levels of the MC68060. It has been implemented such that most branches are executed in zero cycles. Using a technique known as branch folding, the branch cache allows the instruction fetch pipeline to detect and change the instruction prefetch stream before the change of flow affects the instruction execution engines, minimizing the need for pipeline refill. In addition to substantial cost and performance benefits, the MC68060 also offers advantages in power consumption and power management. The MC68060 automatically minimizes power dissipation by using a fully-static design, dynamic power management, and low-voltage operation. It automatically powers-down internal functional blocks that are not needed on a clock-by-clock basis. Explicitly the MC68060 power consumption can be controlled from the operating system. Although the MC68060 operates at a lower operating voltage, it directly interfaces to both 3-V and 5-V peripherals and logic. Complete code compatibility with the M68000 family allows the designer to draw on existing code and past experience to bring products to market quickly. There is also a broad base of established development tools, including real-time kernels, operating systems, languages, and applications, to assist in product design. The functionality provided by the MC68060 makes it the ideal choice for a range of high-performance embedded applications and computing applications. With M68000 family code compatibility, the MC68060 provides a range of upgrade opportunities to virtually any existing MC68040 application.
1-2
M68060 USER'S MANUAL
MOTOROLA
Introduction
1.1 DIFFERENCES AMONG M68060 FAMILY MEMBERS
Because the functionality of individual M68060 family members are similar, this manual is organized so that the reader will take the following differences into account while reading the rest of this manual. Unless otherwise noted, all references to MC68060, with the exception of the differences outlined below, will apply to the MC68060, MC68LC060, and MC68EC060. The following paragraphs describe how the MC68LC060 and the MC68EC060 differ from the MC68060.
1.1.1 MC68LC060
The MC68LC060 is a derivative of the MC68060. The MC68LC060 has the same execution unit and MMU as the MC68060, but has no FPU. The MC68LC060 is 100% pin compatible with the MC68060. Disregard all information concerning the FPU when reading this manual. The following difference exists between the MC68LC060 and the MC68060: * The MC68LC060 does not contain an FPU. When floating-point instructions are encountered, a floating-point disabled exception is taken.
1.1.2 MC68EC060
The MC68EC060 is a derivative of the MC68060. The MC68EC060 has the same execution unit as the MC68060, but has no FPU or paged MMU, which embedded control applications generally do not require. Disregard information concerning the FPU and MMU when reading this manual. The MC68EC060 is pin compatible with the MC68060. The following differences exist between the MC68EC060 and the MC68060: * The MC68EC060 does not contain an FPU. When floating-point instructions are encountered, a floating-point disabled exception is taken. * The MDIS pin name has been changed to the JS0 pin and is included for boundary scan purposes only. 1.1.2.1 ADDRESS TRANSLATION DIFFERENCES. Although the MC68EC060 has no paged MMU, the four transparent translation registers (ITT0, ITT1, DTT0, and DTT1) and the default transparent translation (defined by certain bits in the translation control register (TCR)) operate normally and can still be used to assign cache modes and supervisor and write protection for given address ranges. All addresses can be mapped by the four transparent translation registers (TTRs) and the default transparent translation. 1.1.2.2 INSTRUCTION DIFFERENCES. The PFLUSH and PLPA instructions, the supervisor root pointer (SRP) and user root pointer (URP) registers, and the E- and P-bits of the TCR are not supported by the MC68EC060 and must not be used. Use of these instructions and registers in the MC68EC060 exhibits poor programming practice since no useful results can be achieved. Any functional anomalies that may result from their use will require system software modification (to remove offending instructions) to achieve proper operation. The PLPA instruction operates normally except that when an address misses in the four TTRs, instead of performing a table search operation, the access cache mode and write protection properties are defined by the default transparent translation bits in the TCR. The address register contents are never changed since all addresses are always transparently
MOTOROLA
M68060 USER'S MANUAL
1-3
Introduction
translated. The PLPA instruction can only generate an access error exception only on supervisor or write protection violation cases. The PFLUSH instruction operates as a virtual NOP instruction. When the MOVEC instruction is used to access the SRP and URP registers and the E- and P-bits in the TCR, no exceptions are reported. However, those bits are undefined for the MC68EC060 and must not be used.
1.2 FEATURES
The main features of the MC68060 are as follows: * 1.6-1.7 Times the MC68040 Performance at the Same Clock Rate with Existing Compliers. 3.2-3.4 Times the Performance of a 25 MHZ MC68040. * Harvard Architecture with Independent, Decoupled Fetch and Execution Pipelines. * Branch Prediction Logic with a 256-Entry, 4-Way Set-Associative, Virtual-Mapped Branch Cache for Improved Branch Instruction Performance. * A Superscalar Pipeline and Dual Integer Execution Units Achieving Simultaneous, but not Out-of-Order Instruction Execution. * An IEEE Standard, MC68040- and MC68881-/MC68882-Compatible FPU. * An MC68040-Compatible Paged Memory Management Unit with Dual 64-Entry Address Translation Caches * Dual 8-Kbyte Caches (Instruction Cache and Data Cache) * A Flexible, High-Bandwidth Synchronous Bus Interface * User Object-Code Compatible with All Earlier M68000 Microprocessors
1.3 ARCHITECTURE
The instruction fetch unit (IFU) is a four-stage pipeline for prefetching instructions. The dual operand execution pipelines (OEPs) (named primary" (pOEP) and secondary (sOEP)) are four-stage pipelines for decoding the instructions, fetching the required operand(s), and then performing the actual execution of the instructions. Since the IFU and OEP are decoupled by a first-in-first-out (FIFO) instruction buffer, the IFU is able to prefetch instructions in advance of their actual use by the OEPs. The MC68060 is designed to maximize the OEP's efficiency through the use of a superscalar pipeline architecture. This architectural advance improves processor performance dramatically by exploiting instruction-level parallelism. The term superscalar denotes the ability to detect, dispatch, execute, and return results from more than one instruction during each machine cycle from an otherwise conventional instruction stream. As a result, multiple instructions may be executed in a single machine cycle. Since the dual OEPs perform in a lock-step mode of operation, the multiple instruction execution is performed simultaneously, but not out-of-order. The net effect is a software-invisible pipeline architecture capable of sustained execution rates of < 1 machine cycle per instruction of the M68000 instruction set.
1-4
M68060 USER'S MANUAL
MOTOROLA
Introduction
Architectural highlights of the MC68060 include: * Four-Stage Instruction Fetch Unit (IFU) -- 64-Entry Instruction Address Translation Cache (ATC), Organized as 4-Way SetAssociative, for Fast Virtual-to-Physical Address Translations -- 8- Kbyte, 4-Way Set-Associative, Physically-Mapped Instruction Cache --256-Entry, 4-Way Set-Associative, Virtually-Mapped Branch Cache, Which Predicts the Direction of Branches Based on Their Past Execution History --96-Byte FIFO Instruction Buffer to Allow Decoupling of the IFP and OEPs * Four-Stage Execution Pipelines Featuring Primary Pipeline (pOEP), Secondary Pipeline (sOEP), and Register File (RGF) Containing Program-Visible General Registers -- 64-Entry Operand Data ATC, Organized as 4-Way Set-Associative, for Fast Virtualto-Physical Address Translations -- 8- Kbyte, 4-Way Set-Associative, Physically-Mapped Operand Data Cache -- The Operand Data Cache Is Organized in a Banked Structure to Allow Simultaneous Read/Write Accesses -- Integer Execute Engines Optimized to Perform Most Instruction Executions in a Single Machine Cycle --Floating-Point Execute Engine, with Floating-Point Register File, Optimized for Performance with Extended-Precision-Wide Internal Datapaths. --Four-Entry Store Buffer and One-Entry Push Buffer That Provide the Performance Feature of Decoupling the Processor Pipeline from External Memory for Certain Cache Modes of Operation. This pipeline architecture supports extremely high data transfer rates within the MC68060 processor. The on-chip instruction and operand data caches provide 600 MBytes/sec @ 50 MHz to the pipelines, while the integer execute engines can support sustained transfer rates of 1.2 GBytes/sec.
1.4 PROCESSOR OVERVIEW
The following paragraphs provide a general description of the MC68060.
1.4.1 Functional Blocks
Figure 1-1 illustrates a simplified block diagram of the MC68060.
MOTOROLA
M68060 USER'S MANUAL
1-5
Introduction
The architecture of the MC68060 processor is implemented in the following major blocks: * Execution Unit --Instruction Fetch Unit --Integer Unit --FPU * Memory Units --Instruction Memory Unit * Instruction ATC * Instruction Cache * Instruction Cache Controller --Data Memory Unit * Data ATC * Data Cache * Data Cache Controller * Bus Controller These major units execute concurrently to maximize sustained performance. Note that the caches reside on separate buses allowing concurrent instruction fetch, data read, and data write operations (internal Harvard architecture).
EXECUTION UNIT INSTRUCTION FETCH UNIT IAG IA CALCULATE INSTRUCTION IC FETCH IED EARLY DECODE
BRANCH CACHE
INSTRUCTION ATC
INSTRUCTION CACHE ADDRESS
INSTRUCTION CACHE CONTROLLER INSTRUCTION MEMORY UNIT
INSTRUCTION BUFFER pOEP FLOATINGPOINT UNIT EA FETCH FP EXECUTE OC EX DECODE EA CALCULATE EA FETCH INT EXECUTE DS AG OC EX sOEP DECODE EA CALCULATE EA FETCH INT EXECUTE
IB
B U S C O N T R O L L E R
DS AG OC EX DATA ATC DA WB DATA CACHE DATA CACHE CONTROLLER
DATA
INTEGER UNIT
CONTROL
DATA AVAILABLE WRITE-BACK
DATA MEMORY UNIT
OPERAND DATA BUS
Figure 1-1. MC68060 Block Diagram
1-6
M68060 USER'S MANUAL
MOTOROLA
Introduction
The integer unit implements a subset of the MC68040 instruction set. The FPU implements a subset of the MC68881/2 coprocessor instruction set. The instruction and data memory units manage the ATCs and the instruction and data caches. The ATCs provide on-chip storage for the paged MMU's most recently used address translations. The data and instruction caches include the logic necessary to read, write, update, invalidate, and flush the caches. The bus controller manages the interface between the MMUs and the external bus. Snoop invalidation is supported to maintain cache consistency by monitoring the external bus when the processor is not the current master.
1.4.2 Integer Unit
The MC68060's integer unit carries out logical and arithmetic operations. The integer unit contains an instruction fetch controller, an instruction execution controller, and a branch target cache. The superscalar design of the MC68060 provides dual execution pipelines in the instruction execution controller, providing simultaneous execution. The superscalar operation of the integer unit can be disabled in software, turning off the second execution pipeline for debugging. Disabling the superscalar operation also lowers performance and power consumption. 1.4.2.1 INSTRUCTION FETCH UNIT. The instruction fetch unit contains an instruction fetch pipeline and the logic that interfaces to the branch cache. The instruction fetch pipeline consists of four stages, providing the ability to prefetch instructions in advance of their actual use in the instruction execution controller. The continuous fetching of instructions keeps the instruction execution controller busy for the greatest possible performance. Every instruction passes through each of the four stages before entering the instruction execution controller. The four stages in the instruction fetch pipeline are: 1. Instruction Address Calculation (IAG)--The virtual address of the instruction is determined. 2. Instruction Fetch (IC)--The instruction is fetched from memory. 3. Early Decode (IED)--The instruction is pre-decoded for pipeline control information. 4. Instruction Buffer (IB)--The instruction and its pipeline control information are buffered until the integer execution pipeline is ready to process the instruction. The branch cache plays a major role in achieving the performance levels of the MC68060. The concept of the branch cache is to provide a mechanism that allows the instruction fetch pipeline to detect and change the instruction stream before the change of flow affects the instruction execution controller. The branch cache is examined for a valid branch entry after each instruction fetch address is generated in the instruction fetch pipeline. If a hit does not occur in the branch target cache, the instruction fetch pipeline continues to fetch instructions sequentially. If a hit occurs in the branch cache, indicating a branch taken instruction, the current instruction stream is discarded and a new instruction stream is fetched starting at the location indicated by the branch cache.
MOTOROLA
M68060 USER'S MANUAL
1-7
Introduction
1.4.2.2 INTEGER UNIT. The integer unit contains dual integer execution pipelines, interface logic to the FPU, and control logic for data written to the data cache and MMU. The superscalar design of the dual integer execution pipelines provide for simultaneous instruction execution, which allows for processing more than one instruction during each machine clock cycle. The net effect of this is a software invisible pipeline capable of sustained execution rates of less than one machine clock cycle per instruction for the M68000 instruction set. The integer unit's control logic pulls an instruction pair from the instruction buffer every machine clock cycle, stopping only if the instruction information is not available or if an integer execution pipeline hold condition exists. The six stages in the dual integer execution pipelines are: 1. Decode (DS)--The instruction is fully decoded. 2. Effective Address Calculation (AG)--If the instruction calls for data from memory, the location of the data is calculated. 3. Effective Address Fetch (OC)--Data is fetched from the memory location. 4. Integer Execution (EX)--The data is manipulated during execution. 5. Data Available (DA)--The result is available. 6. Write-Back (WB)--The resulting data is written back to on-chip caches or external memory. The MC68060 is optimized for most integer instructions to execute in one machine clock cycle. If during the instruction decode stage, the instruction is determined to be a floatingpoint instruction, it will be passed to the FPU after the effective address calculate stage. If data is to be written to either the on-chip caches or external memory after instruction execution, the write-back stage holds the data until memory is ready to receive it. 1.4.2.3 FLOATING-POINT UNIT. Floating-point math is distinguished from integer math, which deals only with whole numbers and fixed decimal point locations. The IEEE-compatible MC68060's FPU computes numeric calculations with a variable decimal point location. Consolidating the FPU on-chip speeds up overall processing and eliminates the interfacing overhead associated with external accelerators. The MC68060's FPU operates in parallel with the integer unit. The FPU performs numeric calculations while the integer unit continues integer processing. The FPU has been optimized for the most frequently used instructions and data types to provide the highest possible performance. The FPU can also be disabled in software to reduce system power consumption.
1-8
M68060 USER'S MANUAL
MOTOROLA
Introduction
The MC68060 is compatible with the ANSI/IEEE Standard 754 for Binary Floating-Point Arithmetic. The MC68060's FPU has been optimized to execute the most commonly used subset of the MC68881/MC68882 instruction sets. Software emulates floating-point instructions not directly supported in hardware. Refer to Appendix C MC68060 Software Package for details on software emulation. The MC68060FPSP provides the following features: * Arithmetic and Transcendental Instructions * IEEE-Compliant Exception Handlers * Unimplemented Data Type and Data Format Handlers 1.4.2.4 MEMORY UNITS. The MC68060 contains independent instruction and data memory units. Each memory unit consists of an 8-Kbyte cache, a cache controller, and an ATC. The full addressing range of the MC68060 is 4 Gbytes. Even though most MC68060 systems implement a much smaller physical memory, by using virtual memory techniques, the system can appear to have a full 4 Gbytes of memory available to each user program. Each MMU fully supports demand-paged virtual-memory operating systems with either 4- or 8Kbyte page sizes. Each MMU protects supervisor areas from accesses by user programs and provides write protection on a page-by-page basis. For maximum efficiency, each MMU operates in parallel with other processor activities. The MMUs can be disabled for emulator and debugging support. 1.4.2.5 ADDRESS TRANSLATION CACHES. The 64-entry, four-way, set-associative ATCs store recently used logical-to-physical address translation information as page descriptors for instruction and data accesses. Each MMU initiates address translation by searching for a descriptor containing the address translation information in the ATC. If the descriptor does not reside in the ATC, the MMU performs external bus cycles through the bus controller to search the translation tables in physical memory. After being located, the page descriptor is loaded into the ATC, and the address is correctly translated for the access. 1.4.2.6 INSTRUCTION AND DATA CACHES. Studies have shown that typical programs spend much of their execution time in a few main routines or tight loops. Earlier members of the M68000 family took advantage of this locality-of-reference phenomenon to varying degrees. The MC68060 takes further advantage of cache technology with its two, independent, on-chip physical caches, one for instructions and one for data. The caches reduce the processor's external bus activity and increase CPU throughput by lowering the effective memory access time. For a typical system design, the large caches of the MC68060 yield a very high hit rate, providing a substantial increase in system performance. The autonomous nature of the caches allows instruction-stream fetches, data-stream fetches, and external accesses to occur simultaneously with instruction execution. For example, if the MC68060 requires both an instruction access and an external peripheral access and if the instruction is resident in the on-chip cache, the peripheral access proceeds unimpeded rather than being queued behind the instruction fetch. If a data operand is also required and it is resident in the data cache, it can be accessed without hindering either the instruction access or the external peripheral access. The parallelism inherent in the MC68060 also allows multiple instructions that do not require any external accesses to exe-
MOTOROLA
M68060 USER'S MANUAL
1-9
Introduction
cute concurrently while the processor is performing an external access for a previous instruction. Each MC68060 cache is 8 Kbytes, accessed by physical addresses. The data cache can be configured as write-through or deferred copyback on a page basis. This choice allows for optimizing the system design for high performance if deferred copyback is used. Cachability of data in each memory page is controlled by two bits in the page descriptor. Cachable pages can be either write-through or copyback, with no write-allocate for misses to write-through pages. The MC68060 implements a four-entry store buffer that maximizes system performance by decoupling the integer pipeline from the external system bus. When needed, the store buffer allows the pipeline to generate writes every clock cycle until full, even if the system bus runs at a slower speed than the processor. 1.4.2.6.1 Cache Organization. The instruction and data caches are each organized as four-way set associative, with 16-byte lines. Each line of data has associated with it an address tag and state information that shows the line's validity. In the data cache, the state information indicates whether the line is invalid, valid, or dirty. 1.4.2.6.2 Cache Coherency. The MC68060 has the ability to watch or snoop the external bus during accesses by other bus masters, maintaining coherency between the MC68060's caches and external memory systems. External bus cycles can be flagged on the bus as snoopable or nonsnoopable. When an external cycle is marked as snoopable, the bus snooper checks the caches and invalidates the matching data. Although the integer execution units and the bus snooper circuit have access to the on-chip caches, the snooper has priority over the execution units.
1.4.3 Bus Controller
The bus is implemented as a nonmultiplexed, fully synchronous protocol that is clocked off the rising edge of the input clock. The bus controller operates concurrently with all other functional units of the MC68060 to maximize system throughput. The timing of the bus is fully configurable to match external memory requirements.
1.5 PROCESSING STATES
The processor is always in one of three states: normal processing, exception processing, or halted. It is in the normal processing state when executing instructions, fetching instructions and operands, and storing instruction results. Exception processing is the transition from program processing to system, interrupt, and exception handling. Exception processing includes fetching the exception vector, stacking operations, and refilling the instruction pipe caused after an exception. The processor enters exception processing when an exceptional internal condition arises such as tracing an instruction, an instruction results in a trap, or executing specific instructions. External conditions, such as interrupts and access errors, also cause exceptions. Exception processing ends when the first instruction of the exception handler begins to execute.
1-10
M68060 USER'S MANUAL
MOTOROLA
Introduction
The processor halts when it receives an access error or generates an address error while in the exception processing state. For example, if during exception processing of one access error another access error occurs, the MC68060 is unable to complete the transition to normal processing and cannot save the internal state of the machine. The processor assumes that the system is not operational and halts. Only an external reset can restart a halted processor. Note that when the processor executes a STOP or LPSTOP instruction, it is in a special type of normal processing state, one without bus cycles. The processor stops, but it does not halt and can be restored by an interrupt or reset.
1.6 PROGRAMMING MODEL
The MC68060 programming model is separated into two privilege modes: supervisor and user. The integer unit identifies a logical address by accessing either the supervisor or user address space, maintaining the differentiation between supervisor and user modes. The MMUs use the indicated privilege mode to control and translate memory accesses, protecting supervisor code, data, and resources from user program accesses. Refer to 1.1.2.1 Address Translation Differences for details concerning the MC68EC060 address translation. Programs access registers based on the indicated mode. User programs can only access registers specific to the user mode; whereas, system software executing in the supervisor mode can access all registers, using the control registers to perform supervisory functions. User programs are thus restricted from accessing privileged information, and the operating system performs management and service tasks for the user programs by coordinating their activities. This difference allows the supervisor mode to protect system resources from uncontrolled accesses. Most instructions execute in either mode, but some instructions that have important system effects are privileged and can only execute in the supervisor mode. For instance, user programs cannot execute the STOP or RESET instructions. To prevent a user program from entering the supervisor mode, except in a controlled manner, instructions that can alter the S-bit in the status register (SR) are privileged. The TRAP instructions provide controlled access to operating system services for user programs. If the S-bit in the SR is set, the processor executes instructions in the supervisor mode. Because the processor performs all exception processing in the supervisor mode, all bus cycles generated during exception processing are supervisor references, and all stack accesses use the active supervisor stack pointer. If the S-bit of the SR is clear, the processor executes instructions in the user mode. The bus cycles for an instruction executed in the user mode are user references. The values on the transfer modifier pins indicate either supervisor or user accesses. The processor utilizes the user mode and the user programming model when it is in normal processing. During exception processing, the processor changes from user to supervisor mode. Exception processing saves the current value of the SR on the active supervisor stack and then sets the S-bit, forcing the processor into the supervisor mode. To return to the user mode, a system routine must execute one of the following instructions: MOVE to SR, ANDI to SR, EORI to SR, ORI to SR, or RTE, which execute in the supervisor mode,
MOTOROLA
M68060 USER'S MANUAL
1-11
Introduction
modifying the S-bit of the SR. After these instructions execute, the instruction pipeline is flushed and is refilled from the appropriate address space. The MC68060 integrates the functions of the integer unit, FPU, and MMU. The registers depicted in the programming model (see Figure 1-2) provide operand storage and control for these three units. The registers are partitioned into two levels of privilege modes: user and supervisor. The user programming model is the same as the user programming model of the MC68040, which consists of 16 general-purpose 32-bit registers, two control registers, eight 80-bit floating-point data registers, a floating-point control register, a floating-point status register, and a floating-point instruction address register.
31
0 D0 D1 D2 D3 D4 D5 D6 D7
79
0 FP0 FP1 FP2 FP3 FP4 FP5 FP6 FP7 31 FP CONTROL REGISTER FP STATUS REGISTER FP INSTRUCTION ADDRESS REGISTER USER STACK POINTER PROGRAM COUNTER CONDITION CODE REGISTER USER PROGRAMMING MODEL 0 15 0 FPCR FPSR FPIAR
DATA REGISTERS
FLOATING-POINT DATA REGISTERS
ADDRESS REGISTERS
A0 A1 A2 A3 A4 A5 A6 A7/USP PC CCR
31
0 PCR A7/SSP (CCR) SR VBR SFC DFC CACR URP SRP TC DTT0 DTT1 ITT0 ITT1 BUSCR PROCESSOR CONFIGURATION REGISTER SUPERVISOR STACK POINTER STATUS REGISTER (CCR IS ALSO SHOWN IN THE USER PROGRAMMING MODEL) VECTOR BASE REGISTER SOURCE FUNCTION CODE DESTINATION FUNCTION CODE CACHE CONTROL REGISTER USER ROOT POINTER REGISTER SUPERVISOR ROOT POINTER REGISTER TRANSLATION CONTROL REGISTER DATA TRANSPARENT TRANSLATION REGISTER 0 DATA TRANSPARENT TRANSLATION REGISTER 1 INSTRUCTION TRANSPARENT TRANSLATION REGISTER 0 INSTRUCTION TRANSPARENT TRANSLATION REGISTER 1 BUS CONTROL REGISTER SUPERVISOR PROGRAMMING MODEL
Figure 1-2. Programming Model Only system programmers can use the supervisor programming model to implement operating system functions, I/O control, and memory management subsystems. This supervisor/
1-12
M68060 USER'S MANUAL
MOTOROLA
Introduction
user distinction in the M68000 family architecture allows for the writing of application software that executes in the user mode and migrates to the MC68060 from any M68000 family platform without modification. The supervisor programming model contains the control features that system designers need to modify system software when porting to a new design. For example, only the supervisor software can read or write to the TTRs of the MC68060. The existence of the TTRs does not affect the programming resources of user application programs. The user programming model includes eight data registers, seven address registers, and a stack pointer register. The address registers and stack pointer can be used as base address registers or software stack pointers, and any of the 16 registers can be used as index registers. Two control registers are available in the user mode--the program counter (PC), which usually contains the address of the instruction that the MC68060 is executing, and the lower byte of the SR, which is accessible as the condition code register (CCR). The CCR contains the condition codes that reflect the results of a previous operation and can be used for conditional instruction execution in a program. The supervisor programming model includes the upper byte of the SR, which contains operation control information. The vector base register (VBR) contains the base address of the exception vector table, which is used in exception processing. The source function code (SFC) and destination function code (DFC) registers contain 3-bit function codes. These function codes can be considered extensions to the 32-bit logical address. The processor automatically generates function codes to select address spaces for data and program accesses in the user and supervisor modes. Some instructions use the alternate function code registers to specify the function codes for various operations. The processor configuration register (PCR) contains bits which control the internal pipelines of the MC68060 design. The bus control register (BUSCR) is used to control software emulation of locked bus transactions. The cache control register (CACR) controls enabling of the on-chip instruction and data caches of the MC68060. The supervisor root pointer (SRP) and user root pointer (URP) registers point to the root of the address translation table tree to be used for supervisor and user mode accesses. The translation control register (TCR) enables logical-to-physical address translation and selects either 4- or 8-Kbyte page sizes. There are four TTRs, two for instruction accesses and two for data accesses. These registers allow portions of the logical address space to be transparently mapped and accessed without the use of resident descriptors in an ATC. The user programming model can also access the entire floating-point programming model. The eight 80-bit floating-point data registers are analogous to the integer data registers. A 32-bit floating-point control register (FPCR) contains an exception enable byte that enables and disables traps for each class of floating-point exceptions and a mode byte that sets the user-selectable rounding and precision modes. A floating-point status register (FPSR) contains a condition code byte, quotient byte, exception status byte, and accrued exception
MOTOROLA
M68060 USER'S MANUAL
1-13
Introduction
byte. A floating-point exception handler can use the address in the 32-bit floating-point instruction address register (FPIAR) to locate the floating-point instruction that has caused an exception. Instructions that do not modify the FPIAR can be used to read the FPIAR in the exception handler without changing the previous value.
1.7 DATA FORMAT SUMMARY
The MC68060 supports the basic data formats of the M68000 family. Some data formats apply only to the integer unit, some only to the FPU, and some to both. In addition, the instruction set supports operations on other data formats such as memory addresses. The operand data formats supported by the integer unit are the standard twos-complement data formats defined in the M68000 family architecture plus a new data format (16-byte block) for the MOVE16 instruction. Registers, memory, or instructions themselves can contain integer unit operands. The operand size for each instruction is either explicitly encoded in the instruction or implicitly defined by the instruction operation. Whenever an integer is used in a floating-point operation, the FPU automatically converts it to an extended-precision floating-point number before using the integer. The FPU implements single-, double-, and extended-precision floating-point data formats as defined by the IEEE 754 standard. The FPU does not directly support packed decimal real format. However, software emulation supports this format via the unimplemented data format vector. Additionally, each data format has a special encoding that represents one of five data types: normalized numbers, denormalized numbers, zeros, infinities, and not-a-numbers (NANs). Table 1-1 lists the data formats for both the integer unit and the FPU. Refer to M68000PM/ AD, M68000 Family Programmer's Reference Manual, for details on data format organization in registers and memory. Table 1-1. Data Formats
Operand Data Format Bit Bit Field Binary-Coded Decimal (BCD) Byte Integer Word Integer Long-Word Integer 16-Byte Single-Precision Real Double-Precision Real Extended-Precision Real Size Supported In Notes 1 Bit Integer Unit -- 1-32 Bits Integer Unit Field of Consecutive Bits 8 Bits Integer Unit Packed: 2 Digits/Byte; Unpacked: 1 Digit/Byte 8 Bits Integer Unit, FPU -- 16 Bits Integer Unit, FPU -- 32 Bits Integer Unit, FPU -- 128 Bits Integer Unit Memory Only, Aligned to 16-Byte Boundary 32 Bits FPU 1-Bit Sign, 8-Bit Exponent, 23-Bit Fraction 64 Bits FPU 1-Bit Sign, 11-Bit Exponent, 52-Bit Fraction 96 Bits FPU 1-Bit Sign, 15-Bit Exponent, 64-Bit Mantissa
1.8 ADDRESSING CAPABILITIES SUMMARY
The MC68060 supports the basic addressing modes of the M68000 family. The register indirect addressing modes support postincrement, predecrement, offset, and indexing, which are particularly useful for handling data structures common to sophisticated applications and high-level languages. The program counter indirect mode also has indexing and offset capabilities. This addressing mode is typically required to support position-independent software. Besides these addressing modes, the MC68060 provides index sizing and scaling features.
1-14
M68060 USER'S MANUAL
MOTOROLA
Introduction
An instruction's addressing mode can specify the value of an operand, a register containing the operand, or how to derive the effective address of an operand in memory. Each addressing mode has an assembler syntax. Some instructions imply the addressing mode for an operand. These instructions include the appropriate fields for operands that use only one addressing mode. Table 1-2 lists a summary of the effective addressing modes for the MC68060. Refer to M68000PM/AD, M68000 Family Programmer's Reference Manual, for details on instruction format and addressing modes. Table 1-2. Effective Addressing Modes
Addressing Modes Register Direct Data Address Register Indirect Address Address with Postincrement Address with Predecrement Address with Displacement Address Register Indirect with Index 8-Bit Displacement Base Displacement Memory Indirect Postindexed Preindexed Program Counter Indirect with Displacement Program Counter Indirect with Index 8-Bit Displacement Base Displacement Program Counter Memory Indirect Postindexed Preindexed Absolute Data Addressing Short Long Immediate Syntax Dn An (An) (An)+ -(An) (d16,An) (d8,An,Xn) (bd,An,Xn) ([bd,An],Xn,od) ([bd,An,Xn],od) (d16,PC) (d8,PC,Xn) (bd,PC,Xn) ([bd,PC],Xn,od) ([bd,PC,Xn],od) (xxx).W (xxx).L #
1.9 INSTRUCTION SET OVERVIEW
The instruction set is tailored to support high-level languages and is optimized for those instructions most commonly executed. The floating-point instructions for the MC68060 are a commonly used subset of the MC68881/MC68882 instruction set with new arithmetic instructions to explicitly select single- or double-precision rounding. The remaining unimplemented instructions are less frequently used and are efficiently emulated in the MC68060FPSP, maintaining compatibility with the MC68881/MC68882 floating-point coprocessors. The MC68060 instruction set includes MOVE16 which allows high-speed transfers of 16-byte blocks between external devices such as memory to memory or coprocessor to memory. Table 1-3 provides an alphabetized listing of the MC68060 instruction set's opcode, operation, and syntax. Refer to Table 1-4 for notations used in Table 1-3. The left operand in the syntax is always the source operand, and the right operand is the destination operand. Refer to M68000PM/AD, M68000 Family Programmer's Reference Manual, for details on instructions used by the MC68060.
MOTOROLA
M68060 USER'S MANUAL
1-15
Introduction
Table 1-3. Instruction Set Summary
Opcode ABCD ADD ADDA ADDI ADDQ ADDX AND ANDI Operation BCD Source + BCD Destination + X Destination Source + Destination Destination Source + Destination Destination Immediate Data + Destination Destination Immediate Data + Destination Destination Source + Destination + X Destination Source Destination Destination Immediate Data Destination Destination If supervisor state then Source SR SR else TRAP Destination Shifted by count Destination If condition true then PC + dn PC ~(bit number of Destination) Z; ~(bit number of Destination) (bit number) of Destination ~(bit number of Destination) Z; 0 bit number of Destination ~(bit field of Destination) bit field of Destination 0 bit field of Destination bit field of Source Dn bit offset of Source Dn bit offset of Source Bit Scan Dn Dn bit field of Destination 1s bit field of Destination bit field of Destination Run breakpoint acknowledge cycle; TRAP as illegal instruction PC + dn PC ~(bit number of Destination) Z; 1 bit number of Destination SP - 4 SP; PC (SP); PC + dn PC -(bit number of Destination) Z; CAS Destination - Compare Operand cc; if Z, Update Operand Destination else Destination Compare Operand CAS2 Destination 1 - Compare 1 cc; if Z, Destination 2 - Compare cc; if Z, Update 1 Destination 1; Update 2 Destination 2 else Destination 1 Compare 1; Destination 2 Compare 2 If Dn < 0 or Dn > Source then TRAP If Rn < LB or If Rn > UB then TRAP If supervisor state then invalidate selected cache lines else TRAP Syntax ABCD Dy,Dx ABCD -(Ay),-(Ax) ADD ,Dn ADD Dn, ADDA ,An ADDI #, ADDQ #, ADDX Dy,Dx ADDX -(Ay),-(Ax) AND ,Dn AND Dn, ANDI #, ANDI #,CCR ANDI #,SR ASd Dx,Dy1 ASd #,Dy ASd Bcc


▲Up To Search▲   

 
Price & Availability of MC68LC060

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X